package com.cn.wx.tread;

import java.util.ArrayList;
import java.util.List;

/**
 * 仓库
 */
public class StoreHouse {

    private List<String> list = new ArrayList<>();


    public void add() {
        if (list.size() <= 10) {
            list.add("1");
            try {
                this.wait();//就是生产者等待
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("生产了一个口罩");
        } else {
            System.out.println("仓库装不下了");
        }
    }

    public void get() {
        if (list.size() > 0) {
            list.remove(0);
            try {
                Thread.sleep(3000);//休眠，仓库不让放
                //线程等待，消费者去拿口罩，说明this等待是属于消费者等待，不是仓库等待，谁调用谁等待
                this.wait();//如果有参数，不需要唤醒，如果没有参数，需要唤醒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            System.out.println("取出来一个口罩");
        } else {
            System.out.println("仓库没有口罩");
        }
    }
}
